function ajaxPostFunc(url, data, headers = {}, callback) {
    $('body').append('<div class="ycxq-loading-mask">加载中...</div>');

    $.ajax({
        url: url,
        type: 'post',
        headers: headers,
        data: JSON.stringify(data),
        contentType: 'application/json; charset=utf-8',
        processData: false,
        cache: false,
        dataType: 'json',
        success: function (data) {
            if(data.code == 200) {
                return callback(data.data)
            } else {
                $.alert(data.message || data.msg);
            }
        },
        error: function (data) {
            console.log(data)
            $.alert('请求失败');
        },
        complete: function (data) {
            $('.ycxq-loading-mask').remove();
        }
    })
}

function ajaxFileFunc(url, data, headers = {}, callback) {
    $('body').append('<div class="ycxq-loading-mask">加载中...</div>');

    $.ajax({
        url: url,
        type: 'post',
        headers: headers,
        data: data,
        cache: false,
        processData: false,
        contentType: false,
        dataType: 'json',
        success: function (data) {
            if(data.code == 200) {
                return callback(data.data)
            } else {
                $.alert('上传失败');
            }
        },
        error: function (data) {
            console.log(data)
            $.alert('上传失败');
        },
        complete: function (data) {
            $('.ycxq-loading-mask').remove();
        }
    })
}

function ajaxGetFunc(url, headers, callback) {
    $('body').append('<div class="ycxq-loading-mask">加载中...</div>');

    $.ajax({
        url: url,
        type: 'get',
        headers: headers,
        contentType: 'application/json; charset=utf-8',
        processData: false,
        cache: false,
        dataType: 'json',
        success: function (data) {
            if(data.code == 200) {
                return callback(data.data)
            } else {
                $.alert('请求失败');
            }
        },
        error: function (data) {
            console.log(data)
            $.alert('请求失败');
        },
        complete: function (data) {
            $('.ycxq-loading-mask').remove();
        }
    })
}

// let timer, flag;
// // 节流
// function ajaxThrottle(func, wait = 2000, immediate = true) {

//     if (immediate) {
// 		if (!flag) {
// 			flag = true;
// 			// 如果是立即执行，则在wait毫秒内开始时执行
// 			typeof func === 'function' && func();
// 			timer = setTimeout(() => {
// 				flag = false;
// 			}, wait);
// 		}
// 	} else {
// 		if (!flag) {
// 			flag = true
// 			// 如果是非立即执行，则在wait毫秒内的结束处执行
// 			timer = setTimeout(() => {
// 				flag = false
// 				typeof func === 'function' && func();
// 			}, wait);
// 		}

// 	}
// }

// 图片地址处理
function getImgUrlFunc(url, domain = $("input[name='ossPrefix']").val()) {
    if(url && url.length == 20) {
        return `${domain}${url.slice(0, 4)}/${url.slice(4, 6)}/${url.slice(6, 8)}/${url.slice(8, 10)}/${url.slice(10)}`
    } else {
        return domain + url
    }
}

// 获取年月日
function timestampToDay(date) {
    //时间戳为10位需*1000，时间戳为13位的话不需乘1000
    var date = new Date(date);
    var Y = date.getFullYear() + "-";
    var M =
      (date.getMonth() + 1 < 10
        ? "0" + (date.getMonth() + 1)
        : date.getMonth() + 1) + "-";
    // var D = date.getDate();
    var D =
    (date.getDate() < 10
      ? "0" + (date.getDate())
      : date.getDate());
    return Y + M + D;
};

// 获取完整时间
function timestampToTime(timestamp) {
    //时间戳为10位需*1000，时间戳为13位的话不需乘1000
    var date = new Date(timestamp);
    var Y = date.getFullYear() + "-";
    var M =
      (date.getMonth() + 1 < 10
        ? "0" + (date.getMonth() + 1)
        : date.getMonth() + 1) + "-";
    var D = date.getDate() < 10 ? "0" + (date.getDate()) : date.getDate();
    var H = (date.getHours() < 10 ? "0" + (date.getHours()) : date.getHours()) + ":";
    var U =
      (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes()) +
      ":";
    var S = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();

    return Y + M + D + " " + H + U + S;
};

// 金额转两位小数
function priceToFixed(val) {
    if (val) {
        let price = val * 1
        return price.toFixed(2)
    } else {
        return '0.00'
    }
}
